home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / Adobe Air 1.5 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / containers / Box.as < prev    next >
Encoding:
Text File  |  2008-10-29  |  2.5 KB  |  87 lines

  1. package mx.containers
  2. {
  3.    import flash.events.Event;
  4.    import mx.containers.utilityClasses.BoxLayout;
  5.    import mx.core.Container;
  6.    import mx.core.IUIComponent;
  7.    import mx.core.mx_internal;
  8.    
  9.    use namespace mx_internal;
  10.    
  11.    public class Box extends Container
  12.    {
  13.       mx_internal static const VERSION:String = "3.0.0.0";
  14.       
  15.       mx_internal var layoutObject:BoxLayout;
  16.       
  17.       public function Box()
  18.       {
  19.          mx_internal::layoutObject = new BoxLayout();
  20.          super();
  21.          mx_internal::layoutObject.target = this;
  22.       }
  23.       
  24.       mx_internal function isVertical() : Boolean
  25.       {
  26.          return direction != BoxDirection.HORIZONTAL;
  27.       }
  28.       
  29.       public function set direction(param1:String) : void
  30.       {
  31.          mx_internal::layoutObject.direction = param1;
  32.          invalidateSize();
  33.          invalidateDisplayList();
  34.          dispatchEvent(new Event("directionChanged"));
  35.       }
  36.       
  37.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  38.       {
  39.          super.updateDisplayList(param1,param2);
  40.          mx_internal::layoutObject.updateDisplayList(param1,param2);
  41.       }
  42.       
  43.       public function pixelsToPercent(param1:Number) : Number
  44.       {
  45.          var _loc8_:IUIComponent = null;
  46.          var _loc9_:Number = NaN;
  47.          var _loc10_:Number = NaN;
  48.          var _loc2_:Boolean = mx_internal::isVertical();
  49.          var _loc3_:Number = 0;
  50.          var _loc4_:Number = 0;
  51.          var _loc5_:int = numChildren;
  52.          var _loc6_:int = 0;
  53.          while(_loc6_ < _loc5_)
  54.          {
  55.             _loc8_ = IUIComponent(getChildAt(_loc6_));
  56.             _loc9_ = _loc2_ ? Number(_loc8_.height) : Number(_loc8_.width);
  57.             _loc10_ = _loc2_ ? Number(_loc8_.percentHeight) : Number(_loc8_.percentWidth);
  58.             if(!isNaN(_loc10_))
  59.             {
  60.                _loc3_ += _loc10_;
  61.                _loc4_ += _loc9_;
  62.             }
  63.             _loc6_++;
  64.          }
  65.          var _loc7_:Number = 100;
  66.          if(_loc4_ != param1)
  67.          {
  68.             _loc7_ = _loc4_ * _loc3_ / (_loc4_ - param1) - _loc3_;
  69.          }
  70.          return _loc7_;
  71.       }
  72.       
  73.       override protected function measure() : void
  74.       {
  75.          super.measure();
  76.          mx_internal::layoutObject.measure();
  77.       }
  78.       
  79.       [Bindable("directionChanged")]
  80.       public function get direction() : String
  81.       {
  82.          return mx_internal::layoutObject.direction;
  83.       }
  84.    }
  85. }
  86.  
  87.